如何配置另一個地區?

簡介:

本章將示範如何為你的備份用戶在 OpenStack 上設置另一個地區。

如果你未曾接觸過 OpenStack,你應該先參考他們在 http://docs.openstack.org/ 的常規設置文檔。

如果你已經有一個正在運行的 OpenStack,你可以按照我們的步驟來設置另一個地區。



假設:

這是在下列實例中使用的 OpenStack 版本:


這是在下列實例中使用的值:


注: Keystone admin 令牌的值可以在 Keystone 配置文件 /etc/keystone/keystone.conf 中的變量名 "admin_token" 找到。



要求和準備:

請在安裝一個租戶(項目),用戶,角色和存儲配額等之前把下列的變量在 bash 配置文件中配置好。

步驟 1: 在 .bash_profile 中添加環境變量

例如 (/root/.bash_profile)
----------------------------------------------------------------------------------------------------
    :
    :
  修剪
    :
    :
export OS_USERNAME=admin
export OS_PASSWORD=admin
export OS_TENANT_NAME=mybackup
export OS_AUTH_URL=http://10.7.54.7:5000/v2.0
export OS_SERVICE_ENDPOINT=http://10.7.54.7:35357/v2.0
export OS_SERVICE_TOKEN=7b05dab9722d44e7b9a82dc0d1ff74ea
    :
    :
  修剪
    :
    :
----------------------------------------------------------------------------------------------------

請重新登錄,配置文件方能生效。

注: OS_SERVICE_TOKEN 的值可以在 Keystone 配置文件 /etc/keystone/keystone.conf 中的變量名 "admin_token" 找到。



步驟 2: 為 OpenStack 建立一個新的地區。

如果你要在目前的 OpenStack 掛上第二台 OpenStack 的存儲,你可以當前的 OpenStack 上設置第二個地區。

假設第二地區的 OpenStack IP 為 10.7.54.8 。 你需要找出 swift 的服務ID,並按照以下指示在你目前的 OpenStack 上掛上第二個地區。



要通過 keystone 服務的列出指令, 列出 swift 服務 id:

使用方法: keystone service-list

例如
----------------------------------------------------------------------------------------------------
[root@os ~]# keystone service-list
WARNING: Bypassing authentication using a token & endpoint (authentication credentials are being ignored).
+----------------------------------+------------+--------------+--------------------------------+
|              id                  |    name    |     type     |           description          |
+----------------------------------+------------+--------------+--------------------------------+
| 5f805cc7df2a43eb90db6fe11ed682f6 | ceilometer |   metering   |   Openstack Metering Service   |
| 3134116675a8420a88ef01cdcb0c8728 |   cinder   |    volume    |         Cinder Service         |
| b703b91737954d01a2d180f6c3d575ba |  cinder_v2 |   volumev2   |        Cinder Service v2       |
| cc787cf0258e46d6a342e1502e7bf6be |   glance   |    image     |      Openstack Image Service   |
| b3af7d0a95d34aa7883629df7a7f7f56 |  keystone  |   identity   |    OpenStack Identity Service  |
| 10f1a022ada246138aba5834e3622a91 |  neutron   |   network    |    Neutron Networking Service  |
| 218b5356d65e4d8382297f72d65c8bbb |    nova    |   compute    |    Openstack Compute Service   |
| a809ad43f380400cb55ff2520bb27ab0 |  nova_ec2  |     ec2      |          EC2 Service           | 
| 8b517bd82d4345c895384f9596a29880 |    swift   | object-store | Openstack Object-Store Service |
| 11882e74696547b0ba1e4d276074ae37 |  swift_s3  |     s3       |       Openstack S3 Service     |
+----------------------------------+------------+--------------+--------------------------------+
[root@os ~]# 
----------------------------------------------------------------------------------------------------


把第二地區(RegionTwo)添加到 'swift' keystone 服務

使用方法: keystone endpoint-create --region <endpint-region> --service-id=<swift service-id> --publicurl <public-url> --adminurl <admin URL> --internalurl <internal-url>

例如
 
----------------------------------------------------------------------------------------------------
[root@os ~]# keystone endpoint-create --region RegionTwo --service-id=8b517bd82d4345c895384f9596a29880 --publicurl
 'http://10.7.54.8:8080/v1/AUTH_%(tenant_id)s' --adminurl 'http://10.7.54.8:8080/v1' --internalurl 'http://10.7.54
.8:8080/v1/AUTH_%(tenant_id)s'
+-------------+---------------------------------------------+
|   Property  |                    Value                    |
+-------------+---------------------------------------------+
|   adminurl  |          http://10.7.54.8:8080/v1           |
|      id     |       40c018c7ff934bc4b3d8c0ce8c78d8db      |
| internalurl | http://10.7.54.8:8080/v1/AUTH_%(tenant_id)s |
|  publicurl  | http://10.7.54.8:8080/v1/AUTH_%(tenant_id)s |
|    region   |                   RegionTwo                 |
|  service_id |       8b517bd82d4345c895384f9596a29880      |
+-------------+---------------------------------------------+
[root@os ~]#
----------------------------------------------------------------------------------------------------